CV - Module Project Part-2 Face Recognition

  • DOMAIN: Face recognition

  • CONTEXT:
Company X intends to build a face identification model to recognise human faces.

  • DATA DESCRIPTION:
DATA DESCRIPTION: Face Aligned Face Dataset from Pinterest. This dataset contains 10,770 images for 100 people. All images are taken from 'Pinterest' and aligned using dlib library.

  • PROJECT OBJECTIVE:

Face Recognition - In this project, we use a pre-trained model trained on Face recognition to recognise similar faces. Here, we are particularly interested in recognising whether two given faces are of the same person or not.

  • Load the dataset and create metadata

  • Check some samples

  • Load the pre-trained model and weights

  • Generate Embedding vectors for each face in the dataset

  • Build distance metrics for identifying the distance between two given images

  • Use PCA for dimensionality reduction

  • Build an SVM classifier in order to map images

  • Import the the test image. Display the image. Use the SVM trained model to predict the face.

  • Our Objective was to train a face recognition model using pretrained weights from the VGG Face architecture to generate image embeddings which are scaled and principal components are calculated to reduce dimensions and an SVC Classifier model is trained.

  • Also, from the training accuracy of 99.98% and testing accuracy of 96.47% and the model seems to be overfitting somewhat. We can use other better models or add some regularization.

  • As seen from the final test Images, the model does a pretty good job of recognizing faces. But, could be even better with more training data.